Some computer systems have a type of non-volatile memory (“NVRAM”) for storing user-configurable settings governing the operation of a computer. For example, a user may configure a computer system to boot from the hard disk or boot from a network. The user-configurable settings for the computer system are typically provided in a firmware basic input/output system (“BIOS”). The BIOS contains basic routines which are accessed to boot the computer as well as to initialize and interface hardware with operating system software.
Occasionally, the BIOS may need to be updated to reflect changes in the hardware configuration of the computer system or to add new features. When the BIOS in a computer system is updated, the software that performs the update resets the configuration settings stored in the NVRAM to their default state requiring a user to reconfigure the previous settings in the NVRAM which were deleted as a result of the update. Historically, this reset has been done as a safety measure because different BIOS versions may have different configurable features whose current state is stored in the same locations in the NVRAM. Thus, the configuration reset is done to avoid a potentially serious system malfunction. However, rarely does an updated BIOS version include different configurable features which are stored in the same NVRAM locations as the features provided in a previous BIOS version. As a result, a user's previous configuration settings in the NVRAM are often reset unnecessarily due to a BIOS update and, as a result, many users are unnecessarily required to reconfigure their configuration settings.
It is with respect to these considerations and others that the present invention has been made.